package com.zhentao.entity.order;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;

import java.util.Date;

public class ExcelVo {
    /**
     * 主键ID
     * index：指定Excel列的索引（0开始）
     * value：Excel表头名称
     */
    @ExcelProperty(index = 0, value = "ID")
    @ColumnWidth(10) // 设置列宽
    private Integer id;

    /**
     * 订单ID
     */
    @ExcelProperty(index = 1, value = "订单编号")
    @ColumnWidth(15)
    private Integer orderId;

    /**
     * 商品名称
     */
    @ExcelProperty(index = 2, value = "商品名称")
    @ColumnWidth(20)
    private String goodsName;

    /**
     * 商品价格
     */
    @ExcelProperty(index = 3, value = "商品单价(元)")
    @ColumnWidth(15)
    private Integer goodsPrice;

    /**
     * 购买数量
     */
    @ExcelProperty(index = 4, value = "购买数量")
    @ColumnWidth(10)
    private Integer quantity;

    /**
     * 小计金额
     */
    @ExcelProperty(index = 5, value = "小计金额(元)")
    @ColumnWidth(15)
    private Integer subtotal;

    /**
     * 下单人
     */
    @ExcelProperty(index = 6, value = "下单人")
    @ColumnWidth(15)
    private String orderPerson;

    /**
     * 收货人
     */
    @ExcelProperty(index = 7, value = "收货人")
    @ColumnWidth(15)
    private String consignee;

    /**
     * 订单状态（使用枚举转换器示例）
     * converter：指定自定义转换器（将数字状态转为文字）
     */
    @ExcelProperty(index = 8, value = "订单状态")
    @ColumnWidth(15)
    private String orderStatus;

    /**
     * 创建时间（格式化日期）
     * DateTimeFormat：指定日期格式
     */
    @ExcelProperty(index = 9, value = "创建时间")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss") // 导出时的日期格式
    @ColumnWidth(20)
    private Date createTime;
}
